Verifying Programs That Use Causally-Ordered Message-Passing
نویسندگان
چکیده
We give an operational model of causally-ordered message-passing primitives. Based on this model, we formulate a Hoare-style proof system for causally-ordered delivery. To illustrate the use of this proof system and to demonstrate the feasibility of applying invariant-based verification techniques to algorithms that depend on causally-ordered delivery, we verify an asynchronous variant of the distributed termination detection algorithm of Dijkstra, Feijen, and van Gasteren.
منابع مشابه
Evaluation of Causal Distributed Shared Memory for Data-race-free Programs
Distributed Shared Memory (DSM) is becoming an accepted abstraction for programming distributed systems. Although DSM could simplify the programming of distributed applications, maintaining a consistent view of shared memory operations across processors in a distributed system can be expensive. The causal consistency model of DSM can allow more eecient implementations of DSM because it requires...
متن کاملModular Verification of Object-Oriented Programs with Subtypes
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows code to work on instances of many different types. Techniques for the formal specification of such polymorphic functions and abstract types are described, as well as a logic for verifying programs that use message passing but not object mutation or assignment. The reasoning techniques formalize ...
متن کاملAnalysis of Source Code: A Case Study
This paper summarises our experience in using model checking technology to understand concurrent programs. We use Verisoft to understand various aspects of a firewall tool kit. We instrument three components of the firewall tool kit with Verisoft hooks in order to test their behaviour. Some of the key changes include changing socket communication to message passing queues and adding appropriate...
متن کاملModular Veriication of Object-oriented Programs with Subtypes Modular Veriication of Object-oriented Programs with Subtypes List of Figures 1.1 the Type Speciication
Object-oriented programming languages like Smalltalk-80 have a message passing mechanism that allows code to work on instances of many diierent types. Techniques for the formal speciication of such polymorphic functions and abstract types are described, as well as a logic for verifying programs that use message passing but not object mutation or assignment. The reasoning techniques formalize in...
متن کاملRely-Guarantee Based Reasoning for Message-Passing Programs1
The difficulties of verifying concurrent programs lie in their inherent non-determinism and interferences. Rely-Guarantee reasoning is one useful approach to solve this problem for its capability in formally specifying interthread interferences. However, modern verification requires better locality and modularity. It is still a great challenge to verify a message-passing program in a modular an...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Sci. Comput. Program.
دوره 24 شماره
صفحات -
تاریخ انتشار 1995